结尾附赠源码
一、创建文件夹
使用QDir类用来创建文件夹,可以是绝对路径、也可以是相对路径。
例如:绝对路径
QDir("/home/user/Documents")
QDir("C:/Documents and Settings")
例如:相对路径
QDir("images/landscape.png")
主要操作如下:
// 声明目录对象
QDir dir(path);
// 判断此目录文件是否存在
if (dir.exists(path)) {
return path;
}
二、创建文件
使用QFire类来创建文件。
exists();用来判断文件是否存在。
QFile::WriteOnly|QFile::Text;以只写文本方式创建文件
三、创建文件夹和文件的函数实现
1. 新建项目
2. 在项目的头文件(.h)中加入函数声明,如下
QString createMultipleFolders(const QString path); // 创建文件夹
QString createFile(const QString path,const QString suffix); // 创建.dat文件
3. 在(.cpp)文件中添加以下代码
// 1. 引入头文件
#include <QDateTime>
#include <QFile>
#include <QDir>
// 2. 在构造函数中添加代码
QString path = createMultipleFolders("D:\\1\\001");
QString pathFile = createFile(path,".txt");
// 3. 创建多级文件夹
QString Widget::createMultipleFolders(const QString path)
{
QDir dir(path);
if (dir.exists(path)) {
return path;
}
QString parentDir = createMultipleFolders(path.mid(0, path.lastIndexOf('\\')));//截取根目录
QString dirName = path.mid(path.lastIndexOf('\\') + 1);//截取父目录
QDir parentPath(parentDir);
if (!dirName.isEmpty())
{
parentPath.mkpath(dirName);
}
return parentDir + "\\" + dirName;
}
// 4. 创建文件
QString Widget::createFile(const QString path,const QString suffix)
{
QString createTime = QDateTime::currentDateTime().toString("yyyy-MM-dd HH-mm-ss"